import java.util.ArrayList;


abstract class SearchProblem
{
		Board initState;
		
		abstract ArrayList<Action> actions(Board state);
		
		abstract boolean isGoal(Node node);

		abstract int pathCost(Node node);
}
